<!DOCTYPE HTML>
<html><head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
html,body {
  font-size:12px;
  font-family:monospace;
}
.grid {
  display: grid;
  border: 1px solid green;
  grid-template-columns: 20px 20px 20px 20px;
  grid-template-rows: 20px 20px 20px;
  grid-auto-flow: row;
  grid-auto-columns: 20px;
  grid-auto-rows: 20px;
}

span {
  background: lime;
  border: 1px solid;
}

.test1 { grid-template-areas:'.. a a-start-.'; }
.test1 span { grid-column: a-start- / 8; }

.test2 {
  grid-template-areas:
    'a a a ... . .'
    'a a a .   . ..'
    '.-b b .   . ...'
  ;
}

.test2 .a {
  grid-area: a;
}
.test2 .b {
  grid-column: 2 / span 3;
  grid-row: b;
}
.test2 .c {
  grid-column: auto / span 3;
}

.test3 {
  grid-template-areas:'.a.';
  grid-template-columns: [a-start] 20px 20px [a-start-start] 20px [a-start-end];
}
.test3 span { grid-column: a-start / 8; }

.test4 {
  grid-template-areas:'. .... .-a';
  grid-template-columns: 20px [-a-start] 20px [-a-start] 20px [-a-end] 20px ;
}
.test4 span { grid-column: -a-start 2 / 8; }

    </style>
</head>
<body>

<div class="grid test1"><span>a</span></div>

<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
</div>

<div class="grid test3"><span>a</span></div>

<div class="grid test4"><span>a</span></div>

</body>
</html>
